﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Contracts
{
    public interface IQueryStore : IDisposable
    {
        IEnumerable<TEntity> Read<TEntity>() where TEntity : class, IEntity;

        IEnumerable<TEntity> Read<TEntity>(Func<TEntity, bool> selector) where TEntity : class, IEntity;

        TEntity Read<TEntity>(int id) where TEntity : class, IEntity;
    }
}
